home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
015a
/
do1003.zip
/
LOG.SCR
< prev
next >
Wrap
Text File
|
1991-12-28
|
3KB
|
113 lines
* SCRIPT: LOG.SCR Analyze Caller Log
/STOP End
:TOP
/SET InFile LOG.DAT
/SET AnalFile C:\BOBsBBS\BULLETIN\BULLETIN.006
.clr
/SET Title "Analyze BULLET! Caller Log"
»ma«%title(C80)»#«
/box 1 1 80 3 14 7 ""
/Exist %InFile
:ExistError
.bell
Cannot find the Caller Log in the current directory
.pg
/GOTO End
:ExistOK
/CLEAR Days
/MATH TOT 0
/MATH TAB 0
/MATH i 0
/REPEAT
/CLEAR C%i
/CLEAR T%i
/MATH C%i 0
/MATH T%i 0
/INC i
/UNTIL %i GT 7
/OPEN 1 %infile R
/READ 1 " " Field
/SET StartDate @cpy(%FileBuffer,30,8)
:ReadLog
/SET Caller @trim(@cpy(%FileBuffer,1,29)," ",R)
/IF %Caller NE "" NextRead
/IF %Caller LK "* *" NextRead
/SET DateON @cpy(%FileBuffer,30,8)
/SET TimeON @cpy(%FileBuffer,39,8)
/SET DateOFF @cpy(%FileBuffer,51,8)
/SET TimeOFF @cpy(%FileBuffer,60,8)
/SET TON @time(%TimeON)
/MATH Days @date(%DateOFF)-@date(%DateON)
/MATH TOF @time(%TimeOFF)+(%Days*24*3600)
/MATH Secs %TOF-%TON
/GOSUB Totals
»reset cy«%DateON %TimeON »gr«%DateOFF %TimeOFF »wh«=»ye« @TMST(%Secs)»#« [%Caller]
:NextRead
/READ 1 " " Field
/GOTO ReadLog
:Totals
/INC TAB
/INC TOT %Secs
/MATH Per TRUNC(@cpy(%TimeON,1,2)/3)
/INC C%Per
/INC T%Per %Secs
/RETURN
:Avg
/IF %Avg02 EQ 0 Avg1
/MATH %Avg04 0
/RETURN
:Avg1
/MATH %Avg04 %Avg03/%Avg02
/RETURN
:READERROR
.bell
Error Reading LOG.BBS
.pg
:EOF
/SET EndDate %DateOFF
/GOSUB Avg C0 %C0 %T0 A0
/GOSUB Avg C1 %C1 %T1 A1
/GOSUB Avg C2 %C2 %T2 A2
/GOSUB Avg C3 %C3 %T3 A3
/GOSUB Avg C4 %C4 %T4 A4
/GOSUB Avg C5 %C5 %T5 A5
/GOSUB Avg C6 %C6 %T6 A6
/GOSUB Avg C7 %C7 %T7 A7
/CLOSE 1
/MATH TotalDays @date(%EndDate)-@date(%StartDate)+1
/OPEN 2 %AnalFile W
/WRITE 2 " `CStart Date`A:`Y %StartDate(R8) `CEnd Date`A:`Y %EndDate(R8)"
/WRITE 2 " `A┌──────────────┬───────────────────┬───────────────────┐"
/WRITE 2 " │ `YPERIOD `A│ `YCALLERS `A│ `YAVERAGE TIME`A │"
/WRITE 2 " ╘══════════════╧═══════════════════╧═══════════════════╛"
/WRITE 2 " `C 12a - 2a `G %C0(######) `M @tmst(%A0)"
/WRITE 2 " `C 3a - 5a `G %C1(######) `M @tmst(%A1)"
/WRITE 2 " `C 6a - 8a `G %C2(######) `M @tmst(%A2)"
/WRITE 2 " `C 9a - 11a `G %C3(######) `M @tmst(%A3)"
/WRITE 2 " `C 12p - 2p `G %C4(######) `M @tmst(%A4)"
/WRITE 2 " `C 3p - 5p `G %C5(######) `M @tmst(%A5)"
/WRITE 2 " `C 6p - 8p `G %C6(######) `M @tmst(%A6)"
/WRITE 2 " `C 9p - 11p `G %C7(######) `M @tmst(%A7)"
/WRITE 2 " `A════════════════════════════════════════════════════════"
/WRITE 2 " `B Total Days `A: `Y%TotalDays(#########)"
/WRITE 2 " `B Total Callers `A: `G%TAB(#########)"
/MATH Hours TRUNC(%Tot/3600)
/SET Temp @tmst(%tot)
/SET Temp %hours(###)@cpy(%Temp,@pos(%Temp,:),8)
/WRITE 2 " `B Total Time On `A: `M%Temp(R9)"
/SET Temp @tmst(%tot/%TAB)
/WRITE 2 " `B Average Time On `A: `C%Temp(R9)"
/WRITE 2 " `A────────────────────────────────────────────────────────"
/WRITE 2 " `CPrepared`A: `G{date} `Y{time}"
/WRITE 2 "`W"
/WRITE 2 "~"
/CLOSE 2
* !VIEW %AnalFile
»bo«Processing Complete!»#«
:End
/EndExec CLEAR